package jm.nj.demo05mian.demo03;

import java.lang.reflect.Method;

/*
* 继承中,子类重写父类方法的时候
* 如果父类方法抛出了多个异常,子类重写父类方法时,只能抛出相同的异常的子类,或者不抛出
* 父类方法没有抛出异常,子类重写父类方法时,只能抛出相同的异常,此时子类产生该异常,只能捕获处理,不能声明抛出
* 重写:父类声明样子,子类就是声明,无需考虑异常
* */
public class Zi extends Fu{
    /*
    * 只能抛出相同的异常
    * */

    @Override
    public void show() throws RuntimeException ,NullPointerException{

    }

    /*
    * 父类方法抛出异常,子类重写可以不抛出异常
    * */

    @Override
    public void show2()  {

    }

    /*
    * 子类不能抛出比父类还大(继承关系)的异常
    * */

   /* @Override
    public void show4() throws Exception {
        super.show4();
    }*/
    /*
    * 父类方法没有抛出异常,子类重写也不能抛出异常
     * 父类方法没有抛出异常,子类方法中如果调用了抛出异常的方法,只能try...catch
    * */

    @Override
    public void show5() {
        try{
            method();
        }catch (Exception e){
            e.printStackTrace();
        }
    }
/*
* 定义一个抛出异常方法
*
* */
    public void method() throws Exception{

    }
}
